home *** CD-ROM | disk | FTP | other *** search
/ Aminet 21 / Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso / Aminet / dev / misc / gms_dev.lha / GMS / Source / C / Fading / GreenFade.c next >
Encoding:
C/C++ Source or Header  |  1997-06-27  |  1.2 KB  |  53 lines

  1. /*
  2. ** Fade Demo
  3. ** ---------
  4. ** Fades into a 32 colour picture.  Then fades up to a specified colour
  5. ** (lime green), and then out to black.
  6. **
  7. ** SAS/C:   1> sc GreenFade.c link startup=LIB:gms.o data=far nostackcheck
  8. ** Dice:    1> dcc -l0 -mD gms.o GreenFade.c -o GreenFade
  9. */
  10.  
  11. #include <proto/games.h>
  12.  
  13. extern struct GMSBase *GMSBase;
  14. ULONG PREFSNAME = DEFAULT;
  15.  
  16. void main(void)
  17. {
  18.    int FState=0;
  19.    struct GameScreen *screen;
  20.    struct Picture *pic;
  21.  
  22.    if (pic = LoadPicFile("GMS:demos/data/PIC.Loading",VIDEOMEM|GETPALETTE)) {
  23.  
  24.       screen = GetScreen();
  25.       CopyStructure(pic,screen);
  26.       screen->MemPtr1 = pic->Data;
  27.  
  28.       if (screen = AddScreen(screen)) {
  29.  
  30.          ShowScreen(screen);
  31.  
  32.          do {
  33.            WaitVBL();
  34.            FState = ColourToPalette(screen,FState,2,0,32,pic->Palette,0x000000);
  35.          } while (FState != NULL);
  36.  
  37.          do {
  38.            WaitVBL();
  39.            FState = PaletteToColour(screen,FState,2,0,32,pic->Palette,0xa5f343);
  40.          } while (FState != NULL);
  41.  
  42.          do {
  43.            WaitVBL();
  44.            FState = ColourMorph(screen,FState,2,0,32,0xa5f343,0x000000);
  45.          } while (FState != NULL);
  46.  
  47.       DeleteScreen(screen);
  48.       }
  49.    FreePic(pic);
  50.    }
  51. }
  52.  
  53.